package com.qlu.casualtalk.domain.dto;

import com.qlu.casualtalk.constant.RegexConstant;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Pattern;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserRegistrationDTO {
    @NotEmpty
    @Pattern(regexp = RegexConstant.ACCOUNT_REGEX, message = "账号必须为4-16位的字母、数字、下划线或横线组成")
    private String account;

    @NotEmpty
    @Pattern(regexp = RegexConstant.PASSWORD_REGEX, message = "密码必须为6-16位的字母、数字、下划线或横线组成")
    private String password;

    //昵称如果是汉字，不超过6个汉字，如果是英文，不超过12个字母，其他语言不限制
    //由于前端默认传入空字符串，正则表达式要改，否则会校验不通过
    @Pattern(regexp = RegexConstant.NICKNAME_REGEX, message = "昵称必须是2-6汉字或2-12英文字母")
    private String nickname;

    @Email(message = "邮箱格式不正确")
    private String email;

    @Pattern(regexp = RegexConstant.PHONE_REGEX, message = "手机号格式不正确")
    private String phone;

    @Pattern(regexp = RegexConstant.SEX_REGEX, message = "性别只能为男或女")
    private String sex;
}
